#!/bin/bash

echo "开始部署 NestJS 应用..."

# 检查 Node.js 是否安装
if ! command -v node &> /dev/null; then
    echo "错误: Node.js 未安装"
    exit 1
fi

# 检查 npm 是否安装
if ! command -v npm &> /dev/null; then
    echo "错误: npm 未安装"
    exit 1
fi

echo "Node.js 版本: $(node --version)"
echo "npm 版本: $(npm --version)"

# 安装依赖
echo "安装依赖..."
npm install

# 构建应用
echo "构建应用..."
npm run build

# 检查构建是否成功
if [ ! -d "dist" ]; then
    echo "错误: 构建失败，dist 目录不存在"
    exit 1
fi

echo "构建成功！"

# 检查端口是否被占用
PORT=3000
if lsof -Pi :$PORT -sTCP:LISTEN -t >/dev/null ; then
    echo "警告: 端口 $PORT 已被占用"
    echo "正在停止占用端口的进程..."
    lsof -ti:$PORT | xargs kill -9
    sleep 2
fi

# 启动应用
echo "启动应用在端口 $PORT..."
echo "应用将在以下地址运行:"
echo "- HTTP: http://localhost:$PORT"
echo "- 健康检查: http://localhost:$PORT/health"
echo ""
echo "按 Ctrl+C 停止应用"

# 启动应用
npm run start:prod 